The present disclosure is directed to video coding and decoding techniques and, in particular, to application of deblocking filters.
A deblocking filter is a video filter applied to decoded compressed video to improve visual quality and prediction performance by smoothing edges that can arise from block-based coding artifacts. Deblocking filtering aims to improve the appearance of decoded pictures by reducing these artifacts.
Deblocking filtering techniques are defined in the ITU H.264 (also known as “AVC”) and H.265 (“HEVC”) coding protocols. Deblocking filtering can be applied within the motion prediction loop of a video encoder or decoder by applying a deblocking filter to reference frames before the reference frames are stored for later use in predicting other image data to be coded (or decoded) after the reference frames are coded (or decoded). When a video stream is encoded, the filter strength can be selected, or the filter can be switched off entirely. Filter strength is determined by coding parameters (including coding modes, motion vectors, reference frames and coded residue) of adjacent blocks, quantization step size, and the steepness of the luminance gradient between blocks.
A deblocking filter operates at the boundary between blocks of pixel data, such as between motion prediction block boundaries or transform unit block boundaries. For example in H.265, the filter may operate on the edges of each 4×4 or 8×8 block of luma and chroma data of each picture. Only the edges that are either prediction block edges or transform block edges are subject to deblocking. Each small block's edge is assigned a boundary strength based on the coding modes (intra/inter) of the blocks, whether references (in motion prediction and reference frame choice) differ, whether any of the blocks have coded residue, and whether it is a luma or chroma edge. Stronger levels of filtering are assigned by this scheme where there is likely to be more distortion. The filter can modify as many as three samples on either side of a given block edge (in the case where an edge is a luma edge that has “Strong Filtering Mode”). In most cases it can modify one or two samples on either side of the edge (depending on the quantization step size, the tuning of the filter strength by the encoder, the result of an edge detection test, and other factors).
High dynamic range (HDR) digital image data has become common and may differ in various aspects from standard dynamic range (SDR) representations of video data. For example, HDR may allow for representations of a wider dynamic range of luminosity, may be a higher precision representation, and may use different electro-optical transfer function (EOTF). An EOTF defines how to convert digital code words to linear luminance. Compared to SDR processing which uses Gamma EOTF as recommended in ITU-R BT.1886, HDR processing has a greater dynamic range of luminosity to reproduce the real world and adopts a different EOTF, for example, perceptual quantizer (PQ) as recommended in SMPTE ST 2084. With an HDR EOTF, coding distortion and activity measurements are related to the brightness of pixels.
The inventors have determined that presently-available deblocking techniques, such as the deblocking filters of AVC and HEVC, do not provide optimal performance applied to HDR image data. Accordingly, they have identified a need for modified deblocking filter parameter selection to improve the quality of HDR image data recovered by video decoders.